public class demo3 {
    /**
     * 274.H 指数
     * https://leetcode.cn/problems/h-index/description/
     */
    public int hIndex(int[] citations) {
        int n = citations.length;
        // 先来计数每篇文章出现的次数，如果大于n的话，那么就算数组的长度次数
        int[] arr = new int[n + 1];
        for(int x : citations) {
            arr[Math.min(x,n)]++;
        }
        int s = 0;// s为引用次数
        // 从后往前进行遍历，一旦s这个值大于i下标这个值，就是 h指数
        for(int i = n;i >= 0;i--) {
            s += arr[i]; // 每次把i对应的arr值都放入到s中
            if(s >= i) {
                return i;
            }
        }
        return -1;
    }
}
